<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>C语言基础 - 程序结构</title>
    <link rel="stylesheet" href="common2.css">
    <style>
        /* 页面特有补充样式 */
        .structure-diagram {
            background-color: #f8f8f8;
            padding: 20px;
            border-radius: 5px;
            margin: 20px 0;
            text-align: center;
        }
        .note-box {
            background-color: #fffde7;
            padding: 15px;
            border-left: 4px solid #ffd600;
            margin: 15px 0;
        }
    </style>
</head>
<body>
    <div class="container">
        <header>
            <h1>C语言基础入门课程</h1>
        </header>
        
        <nav>
            <a href="index.html">首页</a>
            <a href="02-intro.html">C语言简介与环境搭建</a>
            <a href="03-structure.html" class="current">C程序结构</a>
            <a href="04-datatypes.html">基本数据类型</a>
            <a href="05-variables.html">变量与常量</a>
            <a href="06-operators.html">运算符</a>
            <a href="07-io.html" class="current">输入输出</a>
            <a href="08-conditionals.html">条件语句</a>
            <a href="09-loops.html">循环结构</a>
            <a href="10-functions.html" class="current">函数基础</a>
            <a href="11-scope.html">作用域与存储类</a>
            <a href="12-recursion.html">递归函数</a>
            <a href="13-arrays.html">一维数组</a>
            <a href="14-multidim.html" class="current">多维数组</a>
            <a href="15-strings.html">字符串处理</a>
            <a href="16-pointers.html">指针基础</a>
            <a href="17-pointers_advanced.html" class="current">指针进阶</a>
            <a href="18-structs.html">结构体</a>
            <a href="19-files.html">文件操作</a>
            <a href="20-project.html">综合项目</a>
        </nav>
        
        <main>
            <h2>C程序结构</h2>
            
            <section>
                <h3>C程序的基本组成</h3>
                
                <div class="structure-diagram">
                    <h4>典型C程序结构示意图</h4>
                    <pre>+---------------------------+
| 预处理指令 (如 #include)  |
+---------------------------+
| 全局变量声明              |
+---------------------------+
| 函数定义 (main函数等)     |
+---------------------------+</pre>
                </div>
                
                <p>一个完整的C程序通常由以下几个部分组成：</p>
                <ol>
                    <li>预处理指令（如#include）</li>
                    <li>全局变量声明</li>
                    <li>函数定义（包括main函数和其他自定义函数）</li>
                </ol>
                
                <div class="note-box">
                    <p><strong>注意：</strong> C程序是区分大小写的，所有关键字都必须小写。</p>
                </div>
            </section>
            
            <section>
                <h3>main函数详解</h3>
                
                <pre><code>int main(void) {
    // 程序代码
    return 0;
}</code></pre>
                
                <h4>main函数特点：</h4>
                <ul>
                    <li>每个C程序必须有且仅有一个main函数</li>
                    <li>程序执行的起点和终点</li>
                    <li>返回类型通常是int（C99标准要求）</li>
                    <li>参数可以是void或(int argc, char *argv[])</li>
                </ul>
                
                <h4>main函数的标准写法：</h4>
                <pre><code>// 标准写法1
int main(void) {
    // 程序代码
    return 0;
}

// 标准写法2 (带命令行参数)
int main(int argc, char *argv[]) {
    // 程序代码
    return 0;
}</code></pre>
            </section>
            
            <section>
                <h3>头文件说明</h3>
                
                <p>头文件(.h)包含函数声明、宏定义和类型定义等，使用#include指令引入：</p>
                
                <pre><code>#include &lt;stdio.h&gt;   // 系统头文件
#include "myheader.h" // 用户自定义头文件</code></pre>
                
                <h4>常用标准头文件：</h4>
                <table>
                    <tr>
                        <th>头文件</th>
                        <th>描述</th>
                    </tr>
                    <tr>
                        <td>stdio.h</td>
                        <td>标准输入输出函数</td>
                    </tr>
                    <tr>
                        <td>stdlib.h</td>
                        <td>常用工具函数</td>
                    </tr>
                    <tr>
                        <td>string.h</td>
                        <td>字符串处理函数</td>
                    </tr>
                    <tr>
                        <td>math.h</td>
                        <td>数学函数</td>
                    </tr>
                </table>
                
                <div class="note-box">
                    <p><strong>系统头文件 vs 自定义头文件：</strong></p>
                    <ul>
                        <li><code>#include &lt;file.h&gt;</code> - 从系统目录查找</li>
                        <li><code>#include "file.h"</code> - 先从当前目录查找</li>
                    </ul>
                </div>
            </section>
            
            <section>
                <h3>注释语法</h3>
                
                <h4>1. 单行注释</h4>
                <pre><code>// 这是单行注释
int x = 10; // 可以跟在代码后面</code></pre>
                
                <h4>2. 多行注释</h4>
                <pre><code>/* 这是多行注释
   可以跨越多行
   直到结束标记 */</code></pre>
                
                <div class="note-box">
                    <p><strong>注释规范建议：</strong></p>
                    <ul>
                        <li>解释代码意图而非描述代码行为</li>
                        <li>保持注释与代码同步更新</li>
                        <li>避免过度注释显而易见的代码</li>
                        <li>使用英文注释可提高可移植性</li>
                    </ul>
                </div>
            </section>
        </main>
        

</body>
</html>